package com.hlkj.pay.app.common;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.extension.ExtensionPointI;
import com.hlkj.pay.enums.CommonEnum;
import com.hlkj.pay.dto.common.StorageConfig;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @author HlpayTeam
 * @date 2024/09/13 15:02
 */
public interface OssExtPt extends ExtensionPointI {
	/**
	 * 文件上传
	 * @param multipartFile
	 * @param ossEnum
	 * @param storageConfig
	 * @return
	 */
	String upload(MultipartFile multipartFile, CommonEnum.OssEnum ossEnum,String key, StorageConfig storageConfig) throws IOException;
	/**
	 * 文件上传
	 * @param fileArray
	 * @param ossEnum
	 * @param storageConfig
	 * @return
	 */
	String upload(byte[] fileArray, CommonEnum.OssEnum ossEnum,String key, StorageConfig storageConfig) throws IOException;

	/**
	 *
	 * @param fileList
	 * @param ossEnum
	 * @param key
	 * @param storageConfig
	 * @return
	 */
    String uploadZip(List<String> fileList, CommonEnum.OssEnum ossEnum, String key, StorageConfig storageConfig)throws IOException;
}
